home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 142 / applic / spellpic.bas < prev    next >
BASIC Source File  |  1987-06-15  |  18KB  |  656 lines

  1. 10    '**SPELLPIC by D. A. Brumleve***
  2. 20    '********Copyright 1987*********
  3. 30    '*Released to the Public Domain*
  4. 40    '************Enjoy!*************
  5. 50    ' Initializations
  6. 60    openw 2 : fullw 2 : clearw 2 : ?     ' Used by INTERPRETER only
  7. 70    gosub AESINIT:GOSUB INITIALIZE
  8. 80    icon%=1:default%=0
  9. 90    text$=" |    SPELLPIC|By D. A. Brumleve|Copyright 1987|Public Domainware"
  10. 100   choices$="Let's play!"
  11. 110   COLOR 1,4,1,1,1:FILL 1,1
  12. 120   gosub formalert
  13. 130   icon%=1
  14. 140   default%=1
  15. 150   text$="Use lower case|letters to name the|pictures. Then press|'Return'."
  16. 160   choices$="OK."
  17. 170   color 1,3,1,1,1:fill 1,1
  18. 180   gosub formalert
  19. 190   randomize 0
  20. 200   DIM SEENIT(10)
  21. 210   for ii=1 to 10
  22. 220   T=INT(RND*20+1)
  23. 230   if ii=1 then goto 270
  24. 240   for j=1 to ii-1
  25. 250   if seenit(j)=t then goto 220
  26. 260   NEXT J
  27. 270   seenit(ii)=t
  28. 280   CLEARW 2
  29. 290   IF T=1 THEN GOSUB QUESTION1
  30. 300   IF T=2 THEN GOSUB QUESTION2
  31. 310   IF T=3 THEN GOSUB QUESTION3
  32. 320   IF T=4 THEN GOSUB QUESTION4
  33. 330   IF T=5 THEN GOSUB QUESTION5
  34. 340   IF T=6 THEN GOSUB QUESTION6
  35. 350   IF T=7 THEN GOSUB QUESTION7
  36. 360   IF T=8 THEN GOSUB QUESTION8
  37. 370   IF T=9 THEN GOSUB QUESTION9
  38. 380   IF T=10 THEN GOSUB QUESTION10
  39. 390   IF T=11 THEN GOSUB QUESTION11
  40. 400   IF T=12 THEN GOSUB QUESTION12
  41. 410   IF T=13 THEN GOSUB QUESTION13
  42. 420   IF T=14 THEN GOSUB QUESTION1A
  43. 430   IF T=15 THEN GOSUB QUESTION1B
  44. 440   IF T=16 THEN GOSUB QUESTION1C
  45. 450   IF T=17 THEN GOSUB QUESTION1D
  46. 460   IF T=18 THEN GOSUB QUESTION1E
  47. 470   IF T=19 THEN GOSUB QUESTION1F
  48. 480   IF T=20 THEN GOSUB QUESTION1G
  49. 490   next ii
  50. 500   CLEARW 2
  51. 510   color 1,2,1,1,1:fill 1,1
  52. 520   ICON%=1
  53. 530   DEFAULT%=0
  54. 540   TEXT$="Congratulations!|Do you want to play|the game again?"
  55. 550   choices$="Not now.|Great!"
  56. 560   gosub formalert
  57. 570   if choice%=2 then gosub delay:goto 210
  58. 580   CLEARW 2:ICON%=1:DEFAULT%=0
  59. 590   text$="If you enjoyed this|game, you may also|enjoy WORDPIC!"
  60. 600   choices$="I like that one, too!"
  61. 610   color 1,2,1,1,1:fill 1,1
  62. 620   gosub formalert
  63. 630   gosub delay:gosub delay
  64. 640   end
  65. 650   WRONGANSWER:
  66. 660   GOSUB DUDSOUND
  67. 670   CLEARW 2 
  68. 680   ? "The word is not '"+w$+"'!"
  69. 690   ? "Try it again."
  70. 700   gosub delay:gosub delay
  71. 710   clearw 2:return
  72. 720   rightanswer:
  73. 730   gosub winsound
  74. 740   clearw 2
  75. 750   ? "Good for you!!!"
  76. 760   ? "The word is '"+w$+"'!"
  77. 770   gosub delay:gosub delay
  78. 780   return
  79. 790   question1:
  80. 800   ? "Type a name for the picture."
  81. 810   ?:?:?:?
  82. 820   gosub redbus
  83. 830   GOSUB DELAY:CLEARW 2
  84. 840   input w$
  85. 850   if w$="bus" or w$="van" then gosub rightanswer:return
  86. 860   GOSUB WRONGANSWER
  87. 870   goto 790
  88. 880   question2:
  89. 890   ? "Name the picture."
  90. 900   ?:?:?:?
  91. 910   gosub car
  92. 920   gosub delay:gosub delay:clearw 2
  93. 930   input w$
  94. 940   if w$="car" or w$="auto" or w$="automobile" then gosub rightanswer:return
  95. 950   gosub wronganswer
  96. 960   goto 880
  97. 970   question3:
  98. 980   ? "You can live in a ______."
  99. 990   ?:?:?:?
  100. 1000  gosub house
  101. 1010  gosub delay:gosub delay:clearw 2
  102. 1020  input w$
  103. 1030  if w$="house" or w$="home" then gosub rightanswer:return
  104. 1040  gosub wronganswer
  105. 1050  goto 970
  106. 1060  question4:
  107. 1070  ? "You might fly to the moon"
  108. 1080  ? "in this. What is it?"
  109. 1090  ?:?:?:?
  110. 1100  gosub rocket
  111. 1110  gosub delay:gosub delay:clearw 2
  112. 1120  input w$
  113. 1130  if w$="rocket" or w$="spaceship" then gosub rightanswer:return
  114. 1140  gosub wronganswer
  115. 1150  goto 1060
  116. 1160  question5:
  117. 1170  ? "You hit a ball with this."
  118. 1180  ? "What is it called?"
  119. 1190  ?:?:?:?
  120. 1200  gosub racket
  121. 1210  gosub delay:gosub delay:clearw 2
  122. 1220  input w$
  123. 1230  if w$="racket" then gosub rightanswer:return
  124. 1240  gosub wronganswer
  125. 1250  goto 1160
  126. 1260  question6:
  127. 1270  ? "You might wear this on"
  128. 1280  ? "your foot.  What is it?"
  129. 1290  ?:?:?:?
  130. 1300  gosub boot
  131. 1310  gosub delay:gosub delay:clearw 2
  132. 1320  input w$
  133. 1330  if w$="boot" then gosub rightanswer:return
  134. 1340  gosub wronganswer
  135. 1350  goto 1260
  136. 1360  question7:
  137. 1370  ? "You could ride in this to"
  138. 1380  ? "cross a lake. What is it?"
  139. 1390  ?:?:?:?
  140. 1400  gosub boat
  141. 1410  gosub delay:gosub delay:clearw 2
  142. 1420  input w$
  143. 1430  if w$="boat" or w$="sailboat" then gosub rightanswer:return
  144. 1440  gosub wronganswer
  145. 1450  goto 1360
  146. 1460  question8:
  147. 1470  ? "You might use this in your"
  148. 1480  ? "yard or garden."
  149. 1490  ?:?:?:?
  150. 1500  gosub rake
  151. 1510  gosub delay:gosub delay:clearw 2
  152. 1520  input w$
  153. 1530  if w$="rake" then gosub rightanswer:return
  154. 1540  gosub wronganswer
  155. 1550  goto 1460
  156. 1560  question9:
  157. 1570  ? "What can you use to"
  158. 1580  ? "untangle your hair?"
  159. 1590  ?:?:?:?
  160. 1600  gosub comb
  161. 1610  gosub delay:gosub delay:clearw 2
  162. 1620  input w$
  163. 1630  if w$="comb" then gosub rightanswer:return
  164. 1640  gosub wronganswer
  165. 1650  goto 1560
  166. 1660  question10:
  167. 1670  ? "What shape is this?"
  168. 1680  ?:?:?:?
  169. 1690  gosub circ
  170. 1700  gosub delay:gosub delay:clearw 2
  171. 1710  input w$
  172. 1720  if w$="circle" or w$="round" then gosub rightanswer:return
  173. 1730  gosub wronganswer
  174. 1740  goto 1660
  175. 1750  question11:
  176. 1760  ? " What color is the spot?"
  177. 1770  ?:?:?:?
  178. 1780  gosub redspot
  179. 1790  gosub delay:gosub delay:clearw 2
  180. 1800  input w$
  181. 1810  if w$="red" then gosub rightanswer:return
  182. 1820  gosub wronganswer
  183. 1830  goto 1750
  184. 1840  question12:
  185. 1850  ? " What do you use to ride"
  186. 1860  ? "             in the snow?"
  187. 1870  ?:?:?:?
  188. 1880  gosub sled
  189. 1890  gosub delay:gosub delay:clearw 2
  190. 1900  input w$
  191. 1910  if w$="sled" then gosub rightanswer:return
  192. 1920  gosub wronganswer
  193. 1930  goto 1840
  194. 1940  question13:
  195. 1950  ? "What color is the spot?"
  196. 1960  ?:?:?:?
  197. 1970  gosub bluespot
  198. 1980  gosub delay:gosub delay:clearw 2
  199. 1990  input w$
  200. 2000  if w$="blue" then gosub rightanswer:return
  201. 2010  gosub wronganswer
  202. 2020  goto 1940
  203. 2030  question1A:
  204. 2040  ? "You might wear this on"
  205. 2050  ? "your foot. What is it?"
  206. 2060  ?:?:?:?
  207. 2070  gosub shoe
  208. 2080  gosub delay:gosub delay:clearw 2
  209. 2090  input w$
  210. 2100  if w$="shoe" or w$="slipper" then gosub rightanswer:return
  211. 2110  gosub wronganswer
  212. 2120  goto 2030
  213. 2130  question1B:
  214. 2140  ? " Turn on the ______!"
  215. 2150  ?:?:?:?
  216. 2160  gosub lamp
  217. 2170  gosub delay:gosub delay:clearw 2
  218. 2180  input w$
  219. 2190  if w$="lamp" or w$="light" then gosub rightanswer:return
  220. 2200  gosub wronganswer
  221. 2210  goto 2130
  222. 2220  question1C:
  223. 2230  ? "You might wear these."
  224. 2240  ?:?:?:?
  225. 2250  gosub pants
  226. 2260  gosub delay:gosub delay:clearw 2
  227. 2270  input w$
  228. 2280  if w$="pants" or w$="trousers" or w$="jeans" then gosub rightanswer:return
  229. 2290  gosub wronganswer
  230. 2300  goto 2220
  231. 2310  question1D:
  232. 2320  ? " You can carry water in this."
  233. 2330  ?:?:?:?
  234. 2340  gosub pail
  235. 2350  gosub delay:gosub delay:clearw 2
  236. 2360  input w$
  237. 2370  if w$="pail" or w$="bucket" then gosub rightanswer:return
  238. 2380  gosub wronganswer
  239. 2390  goto 2310
  240. 2400  question1E:
  241. 2410  ? "Many big plants like this"
  242. 2420  ? "grow in the woods."
  243. 2430  ? "What is it?"
  244. 2440  ?:?:?:?
  245. 2450  gosub tree
  246. 2460  gosub delay:gosub delay:clearw 2
  247. 2470  input w$
  248. 2480  if w$="tree" then gosub rightanswer:return
  249. 2490  gosub wronganswer
  250. 2500  goto 2400
  251. 2510  question1F:
  252. 2520  ? " You might go camping with this."
  253. 2530  ?:?:?:?
  254. 2540  gosub tent
  255. 2550  gosub delay:gosub delay:clearw 2
  256. 2560  input w$
  257. 2570  if w$="tent" then gosub rightanswer:return
  258. 2580  gosub wronganswer
  259. 2590  goto 2510
  260. 2600  question1G:
  261. 2610  ? " You can tell time with this."
  262. 2620  ?:?:?:?
  263. 2630  gosub watch
  264. 2640  gosub delay:gosub delay:clearw 2
  265. 2650  input w$
  266. 2660  if w$="watch" or w$="wristwatch" then gosub rightanswer:return
  267. 2670  gosub wronganswer
  268. 2680  goto 2600
  269. 2690  delay:
  270. 2700  for d=1 to 1500:next d:return
  271. 2710  dudsound:
  272. 2720  wave 1,1,1,4096
  273. 2730  sound 1,10,1,3,40
  274. 2740  sound 1,0,0,0,0
  275. 2750  return
  276. 2760  winsound:
  277. 2770  for i=1 to 3
  278. 2780  wave 1,1,12,0,0
  279. 2790  sound 1,10,1,6,15
  280. 2800  sound 1,0,0,0,0
  281. 2810  next i
  282. 2820  return
  283. 2830  redbus:
  284. 2840  linef 130,130,130,160
  285. 2850  linef 130,160,200,160
  286. 2860  linef 130,130,200,130
  287. 2870  linef 200,130,200,160
  288. 2880  linef 140,130,140,140
  289. 2890  linef 130,140,200,140
  290. 2900  circle 140,160,6
  291. 2910  circle 190,160,6
  292. 2920  linef 130,130,133,128
  293. 2930  linef 200,130,197,128
  294. 2940  linef 197,128,133,128
  295. 2950  color 1,2,1,1,1
  296. 2960  fill 131,159
  297. 2970  fill 133,129
  298. 2980  color 1,1,1,1,1
  299. 2990  fill 141,161
  300. 3000  fill 140,159
  301. 3010  fill 190,161
  302. 3020  fill 190,159
  303. 3030  return
  304. 3040  WATCH:
  305. 3050  CIRCLE 150,145,20
  306. 3060  LINEF 75,140,75,150
  307. 3070  LINEF 75,140,131,140
  308. 3080  LINEF 75,150,131,150
  309. 3090  LINEF 225,140,225,150
  310. 3100  LINEF 225,140,169,140
  311. 3110  LINEF 225,150,169,150
  312. 3120  LINEF 150,145,150,158
  313. 3130  LINEF 150,145,165,145
  314. 3140  COLOR 1,0,1,1,1
  315. 3150  COLOR 1,4,1,6,2
  316. 3160  FILL 76,141
  317. 3170  FILL 224,141
  318. 3180  COLOR 1,2,1,1,1
  319. 3190  FILL 150,140
  320. 3200  RETURN
  321. 3210  CAR:
  322. 3220  LINEF 97,150,102,140
  323. 3230  LINEF 151,140,151,150
  324. 3240  LINEF 95,150,200,150
  325. 3250  LINEF 95,150,100,140
  326. 3260  LINEF 200,150,195,140
  327. 3270  LINEF 100,140,195,140
  328. 3280  LINEF 125,140,135,130
  329. 3290  LINEF 175,140,170,130
  330. 3300  LINEF 170,130,135,130
  331. 3310  LINEF 170,132,134,132
  332. 3320  'THE ABOVE LINE DRAWS THE ROOF
  333. 3330  LINEF 150,132,150,140
  334. 3340  LINEF 152,132,152,140
  335. 3350  CIRCLE 115,150,5
  336. 3360  CIRCLE 185,150,5
  337. 3370  COLOR 1,4,1,1,1
  338. 3380  FILL 136,141
  339. 3390  FILL 156,141
  340. 3400  FILL 115,149
  341. 3410  FILL 185,149 
  342. 3420  FILL 150,131
  343. 3430  COLOR 1,1,1,1,1
  344. 3440  FILL 115,151
  345. 3450  FILL 185,151
  346. 3460  LINEF 151,140,151,150
  347. 3470  RETURN
  348. 3480  HOUSE:
  349. 3490  H=20:W=50
  350. 3500  X=125:Y=145
  351. 3510  GOSUB BOX
  352. 3520  H=10:W=10
  353. 3530  X=140:Y=155
  354. 3540  GOSUB BOX
  355. 3550  H=5:W=5
  356. 3560  X=165:Y=155
  357. 3570  GOSUB BOX
  358. 3580  LINEF 125,145,150,130
  359. 3590  LINEF 175,145,150,130
  360. 3600  COLOR 1,10,1,2,2
  361. 3610  FILL 126,146
  362. 3620  COLOR 1,4,1,4,2
  363. 3630  FILL 150,131
  364. 3640  COLOR 1,14,1,1,1
  365. 3650  FILL 145,160
  366. 3660  FILL 169,156
  367. 3670  RETURN
  368. 3680  'THIS SUBROUTINE PLOTS A BOX OF HEIGHT H, WIDTH W, ULH CORNER
  369. 3690  'AT POINT X,Y
  370. 3700  BOX:
  371. 3710  LINEF X,Y,X+W,Y
  372. 3720  LINEF X+W,Y,X+W,Y+H
  373. 3730  LINEF X+W,Y+H,X,Y+H
  374. 3740  LINEF X,Y+H,X,Y
  375. 3750  RETURN
  376. 3760  ROCKET:
  377. 3770  H=20:W=70
  378. 3780  X=125:Y=145
  379. 3790  GOSUB BOX
  380. 3800  LINEF 125,145,100,155
  381. 3810  LINEF 100,155,125,165
  382. 3820  LINEF 200,150,210,150
  383. 3830  LINEF 200,155,210,155
  384. 3840  LINEF 200,160,210,160
  385. 3850  COLOR 1,8,1,1,1
  386. 3860  FILL 105,155
  387. 3870  FILL 126,155
  388. 3880  RETURN
  389. 3890  BOAT:
  390. 3900  LINEF 150,130,150,155
  391. 3910  LINEF 150,130,195,150
  392. 3920  LINEF 150,150,195,150
  393. 3930  CIRCLE 160,143,5
  394. 3940  COLOR 1,2,1,1,1
  395. 3950  FILL 160,143
  396. 3960  COLOR 1,3,1,1,1
  397. 3970  FILL 151,140
  398. 3980  LINEF 95,155,135,165
  399. 3990  LINEF 95,155,205,155
  400. 4000  LINEF 205,155,195,165
  401. 4010  LINEF 135,165,195,165
  402. 4020  FILL 150,156
  403. 4030  RETURN
  404. 4040  RAKE:
  405. 4050  LINEF  225,145,90,145
  406. 4060  LINEF 90,130,90,160
  407. 4070  LINEF 90,130,80,130
  408. 4080  LINEF 90,160,80,160
  409. 4090  LINEF 90,155,80,155
  410. 4100  LINEF 90,150,80,150
  411. 4110  LINEF 90,145,80,145
  412. 4120  LINEF 90,140,80,140
  413. 4130  LINEF 90,135,80,135
  414. 4140  RETURN
  415. 4150  COMB:
  416. 4160  LINEF 110,125,190,125
  417. 4170  LINEF 110,125,105,135
  418. 4180  LINEF 190,125,195,135
  419. 4190  LINEF 105,135,195,135
  420. 4200  COLOR 1,2,1,1,1
  421. 4210  FILL 150,131
  422. 4220  LINEF 115,135,115,150
  423. 4230  LINEF 110,135,110,150
  424. 4240  LINEF 105,135,105,150
  425. 4250  LINEF 120,135,120,150
  426. 4260  LINEF 125,135,125,150
  427. 4270  LINEF 130,135,130,150
  428. 4280  LINEF 135,135,135,150
  429. 4290  LINEF 140,135,140,150
  430. 4300  LINEF 145,135,145,150
  431. 4310  LINEF 150,135,150,150
  432. 4320  LINEF 155,135,155,150
  433. 4330  LINEF 160,135,160,150
  434. 4340  LINEF 165,135,165,150
  435. 4350  LINEF 170,135,170,150
  436. 4360  LINEF 175,135,175,150
  437. 4370  LINEF 180,135,180,150
  438. 4380  LINEF 185,135,185,150
  439. 4390  LINEF 190,135,190,150
  440. 4400  LINEF 195,135,195,150
  441. 4410  RETURN
  442. 4420  RACKET:
  443. 4430  CIRCLE 120,145,20
  444. 4440  CIRCLE 120,145,18
  445. 4450  COLOR 1,1,1,12,3
  446. 4460  FILL 120,145
  447. 4470  LINEF 140,145,195,145
  448. 4480  LINEF 165,146,194,146
  449. 4490  LINEF 165,144,194,144
  450. 4500  RETURN
  451. 4510  REDSPOT:
  452. 4520  CIRCLE 150,145,20
  453. 4530  COLOR 1,2,1,1,1
  454. 4540  FILL 150,145
  455. 4550  RETURN
  456. 4560  GOSUB DELAY:GOSUB DELAY:GOSUB DELAY
  457. 4570  BLUESPOT:
  458. 4580  CIRCLE 150,145,20
  459. 4590  COLOR 1,4,1,1,1
  460. 4600  FILL 150,145
  461. 4610  RETURN
  462. 4620  CIRC:
  463. 4630  CIRCLE 150,145,20
  464. 4640  CIRCLE 150,145,15
  465. 4650  COLOR 1,3,1,1,1
  466. 4660  FILL 167,145
  467. 4670  RETURN
  468. 4680  boot:
  469. 4690  linef 170,165,170,130
  470. 4700  linef 170,130,150,130
  471. 4710  linef 150,130,150,150
  472. 4720  linef 150,150,145,155
  473. 4730  linef 145,155,135,160
  474. 4740  linef 135,160,130,165
  475. 4750  linef 130,165,155,165
  476. 4760  linef 155,165,160,160
  477. 4770  linef 165,160,170,160
  478. 4780  linef 160,160,165,160
  479. 4790  linef 165,160,165,165
  480. 4800  linef 165,165,170,165
  481. 4810  color 1,9,1,5,2
  482. 4820  fill 140,163
  483. 4830  color 1,1,1,1,1
  484. 4840  fill 166,164
  485. 4850  return
  486. 4860  shoe:
  487. 4870  linef 170,165,170,155
  488. 4880  linef 170,155,150,155
  489. 4890  linef 150,155,140,160
  490. 4900  linef 140,160,120,163
  491. 4910  linef 120,163,120,165
  492. 4920  linef 120,165,155,165
  493. 4930  linef 155,165,160,163
  494. 4940  linef 160,163,170,163
  495. 4950  linef 155,165,170,165
  496. 4960  color 1,2,1,1,1
  497. 4970  fill 130,162
  498. 4980  color 1,1,1,1,1
  499. 4990  fill 169,164
  500. 5000  linef 147,157,155,158
  501. 5010  linef 155,158,165,158
  502. 5020  linef 165,158,170,155
  503. 5030  linef 144,158,150,160
  504. 5040  linef 142,160,148,162
  505. 5050  return
  506. 5060  lamp:
  507. 5070  linef 140,125,160,125
  508. 5080  linef 140,125,135,150
  509. 5090  linef 160,125,165,150
  510. 5100  linef 135,150,165,150
  511. 5110  linef 150,150,150,165
  512. 5120  linef 151,150,151,165
  513. 5130  linef 149,150,149,165
  514. 5140  linef 140,165,160,165
  515. 5150  linef 140,164,160,164
  516. 5160  color 1,14,1,1,1
  517. 5170  fill 150,140
  518. 5180  linef 145,164,145,162
  519. 5190  return
  520. 5200  pants:
  521. 5210  linef 140,125,135,165
  522. 5220  linef 140,125,160,125
  523. 5230  linef 160,125,165,165
  524. 5240  linef 165,165,155,165
  525. 5250  linef 135,165,145,165
  526. 5260  linef 145,165,150,135
  527. 5270  linef 155,165,150,135
  528. 5280  color 1,4,1,4,2
  529. 5290  fill 150,126
  530. 5300  linef 150,125,150,135
  531. 5310  linef 152,125,152,132
  532. 5320  linef 152,132,150,135
  533. 5330  linef 140,124,160,124
  534. 5340  return
  535. 5350  PAIL:
  536. 5360  LINEF 135,140,165,140
  537. 5370  LINEF 135,140,135,145
  538. 5380  LINEF 165,140,165,145
  539. 5390  LINEF 165,145,160,165
  540. 5400  LINEF 135,145,140,165
  541. 5410  LINEF 160,165,140,165
  542. 5420  COLOR 1,1,1,1,1
  543. 5430  FILL 141,164
  544. 5440  CIRCLE 150,140,15
  545. 5450  CIRCLE 150,140,12
  546. 5460  FILL 150,127
  547. 5470  RETURN
  548. 5480  TREE:
  549. 5490  CIRCLE 150,140,15
  550. 5500  COLOR 1,3,1,14,2
  551. 5510  FILL 150,140
  552. 5520  LINEF 147,154,147,165
  553. 5530  LINEF 153,154,153,165
  554. 5540  LINEF 153,165,147,165
  555. 5550  COLOR 1,1,1,4,2
  556. 5560  FILL 152,164
  557. 5570  RETURN
  558. 5580  TENT:
  559. 5590  LINEF 90,165,150,125
  560. 5600  LINEF 210,165,150,125
  561. 5610  LINEF 150,125,150,165
  562. 5620  LINEF 180,165,180,145
  563. 5630  LINEF 120,165,120,145
  564. 5640  LINEF 150,125,140,165
  565. 5650  LINEF 150,125,130,165
  566. 5660  LINEF 120,165,180,165
  567. 5670  COLOR 1,3,1,1,1
  568. 5680  FILL 130,140
  569. 5690  FILL 155,140
  570. 5700  COLOR 1,11,1,1,1
  571. 5710  FILL 135,160
  572. 5720  COLOR 1,1,1,3,2
  573. 5730  FILL 149,145
  574. 5740  LINEF 90,165,90,162
  575. 5750  LINEF 210,165,210,162
  576. 5760  RETURN
  577. 5770  SLED:
  578. 5780  LINEF 165,140,110,140
  579. 5790  LINEF 110,140,125,155
  580. 5800  LINEF 125,155,180,155
  581. 5810  LINEF 180,155,165,140
  582. 5820  COLOR 1,1,1,5,3
  583. 5830  FILL 150,145
  584. 5840  COLOR 1,1,2,1,1
  585. 5850  LINEF 125,155,125,165
  586. 5860  LINEF 110,140,110,150
  587. 5870  LINEF 180,155,180,165
  588. 5880  LINEF 190,165,110,165
  589. 5890  LINEF 110,165,105,160
  590. 5900  LINEF 105,160,105,155
  591. 5910  LINEF 120,150,95,150
  592. 5920  LINEF 95,150,90,145
  593. 5930  LINEF 90,145,90,140
  594. 5940  COLOR 1,0,1,1,1
  595. 5950  RETURN
  596. 5960  '---------------------------
  597. 5970  AESINIT:'Initialize for aes
  598. 5980  def seg=0 : aes#=GB
  599. 5990  control=peek(aes#)
  600. 6000  global=peek(aes#+4)
  601. 6010  gintin=peek(aes#+8)
  602. 6020  gintout=peek(aes#+12)
  603. 6030  addrin#=peek(aes#+16)
  604. 6040  addrout#=peek(aes#+20)
  605. 6050  ' gemsys(10) 'APPL_INIT  - NOT NEEDED - Done by Basic
  606. 6060  gemsys(77) 'GRAF_HANDLE
  607. 6070  handle=peek(gintout)
  608. 6080  return
  609. 6090  '
  610. 6100  '
  611. 6110  '-----------------------------------------
  612. 6120  FORMALERT:'Put a selection of 1-3 items in box
  613. 6130  'Output:
  614. 6140  '  CHOICE% - which box was selected
  615. 6150  'Input (all must be set before calling this routine)
  616. 6160  ' (none of the strings may contain '[' or ']')
  617. 6170  '  DEFAULT% - value from 0-3; choice used if user hits return
  618. 6180  '  ICON% - 0=blank, 1="!", 2="?", 3="STOP"
  619. 6190  '  TEXT$ - text string (up to 20 chars per line);'|' is a new line
  620. 6200  '  CHOICES$ - text string with up to 3 choices (choices separated by '|')
  621. 6210  '        if one choice, it may have up to 20 chars
  622. 6220  '        if 2 choices, each may have up to 9 chars
  623. 6230  '        if 3 choices, each may have up to 5 chars
  624. 6240  '
  625. 6250  aesmenu$=str$(icon%)+"]["+text$+"]["+choices$+"]"+chr$(0)+chr$(0)
  626. 6260  def seg=0 : amenuaddr!=varptr(aesmenu$) 'For Interpreter
  627. 6270  if INTERPRETER then goto formcontinue1
  628. 6280  ' The following 2 lines are used only by the LDW compiler
  629. 6290  '   since VARPTR works differently for it on strings
  630. 6300  amadr#=amenuaddr!:def seg=amenuaddr!:poke 0,0
  631. 6310  def seg=0:amenuaddr!=peek(amadr#)
  632. 6320  formcontinue1:
  633. 6330  poke gintin,default% 'Choice selected if user hits RETURN
  634. 6340  poke addrin#,amenuaddr!
  635. 6350  gemsys(52)
  636. 6360  choice%=peek(gintout)
  637. 6370  return
  638. 6380  '
  639. 6390  '-------------------------------
  640. 6400  INITIALIZE: ' General initializations (replaces VDI\VOPNVWK)
  641. 6410  copyright$="Copyright 1986 Chris Williams / AccuSoft"
  642. 6420  dummy%=switch(3) 'Used by LDW Compiler
  643. 6430  INTERPRETER=1:COMPILER=0 'If using ST Interpreter
  644. 6440  if switch(3)=3 then INTERPRETER=0:COMPILER=1 'If using LDW Compiler
  645. 6450  ' Screen Resolution data
  646. 6460  LOW=0 : MEDIUM=0 : HIGH=0
  647. 6470  if peek(systab)=1 then HIGH=1
  648. 6480  if peek(systab)=2 then MEDIUM=1
  649. 6490  if peek(systab)=4 then LOW=1
  650. 6500  '
  651. 6510  if HIGH then xres%=640:yres%=400:colors%=2:return
  652. 6520  if MEDIUM then xres%=640:yres%=200:colors%=4:return
  653. 6530  if LOW then xres%=320:yres%=200:colors%=16:return
  654. 6540  return 'Undefined resolution
  655. 6550  '
  656. ə